aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2011-05-27 16:35:36 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2011-05-27 16:35:36 +0000
commite330aa5b3568877fb26267fa0f277de320821b14 (patch)
tree1051bb4048ccce0663659df76760928b03612b7b
parent0219becc2c40e0cd43515e6015fe833cf2d0cf8f (diff)
downloadgcc-e330aa5b3568877fb26267fa0f277de320821b14.zip
gcc-e330aa5b3568877fb26267fa0f277de320821b14.tar.gz
gcc-e330aa5b3568877fb26267fa0f277de320821b14.tar.bz2
re PR libstdc++/49187 (parallel mode compilation broken - unqualified lookup? (bisected))
2011-05-27 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/49187 * include/parallel/losertree.h: Add missing using declarations of _Base::_M_comp. * include/parallel/algobase.h: Include <parallel/algorithmfwd.h>. * include/parallel/multiway_merge.h: Include <parallel/ multiseq_selection.h>, forward declare __merge_advance. * include/parallel/multiseq_selection.h: Don't include <parallel/ sort.h> here. * include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Fix qualification of upper_bound. * testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc: Use dg-require-debug-mode. * testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc: Likewise. * testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc: Likewise. * testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc: Likewise. * testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc: Likewise. * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc: Likewise. * testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc: Likewise. * testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc: Likewise. * testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc: Likewise. * include/parallel/algo.h: Minor uglification fixes. From-SVN: r174342
-rw-r--r--libstdc++-v3/ChangeLog34
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp6
-rw-r--r--libstdc++-v3/include/parallel/algo.h10
-rw-r--r--libstdc++-v3/include/parallel/algobase.h5
-rw-r--r--libstdc++-v3/include/parallel/losertree.h8
-rw-r--r--libstdc++-v3/include/parallel/multiseq_selection.h4
-rw-r--r--libstdc++-v3/include/parallel/multiway_merge.h7
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc4
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc4
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc4
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc4
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc4
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc4
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc4
16 files changed, 76 insertions, 30 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index af0453b..5be06f5 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,37 @@
+2011-05-27 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/49187
+ * include/parallel/losertree.h: Add missing using declarations
+ of _Base::_M_comp.
+ * include/parallel/algobase.h: Include <parallel/algorithmfwd.h>.
+ * include/parallel/multiway_merge.h: Include <parallel/
+ multiseq_selection.h>, forward declare __merge_advance.
+ * include/parallel/multiseq_selection.h: Don't include <parallel/
+ sort.h> here.
+ * include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Fix
+ qualification of upper_bound.
+
+ * testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc:
+ Use dg-require-debug-mode.
+ * testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc:
+ Likewise.
+ * testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc:
+ Likewise.
+ * testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc:
+ Likewise.
+ * testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc:
+ Likewise.
+ * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc:
+ Likewise.
+ * testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc:
+ Likewise.
+ * testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc:
+ Likewise.
+ * testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc:
+ Likewise.
+
+ * include/parallel/algo.h: Minor uglification fixes.
+
2011-05-26 Paolo Carlini <paolo.carlini@oracle.com>
* src/list.cc: Use noexcept per the FDIS.
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp
index 11b7d77..c52e2dc 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp
@@ -244,9 +244,9 @@ rank_bound()
{
using namespace std;
const size_t* const p_upper =
- _GLIBCXX_STD_A::upper_bound(g_a_rank_bounds,
- g_a_rank_bounds + num_distinct_rank_bounds,
- base_type::m_size);
+ std::upper_bound(g_a_rank_bounds,
+ g_a_rank_bounds + num_distinct_rank_bounds,
+ base_type::m_size);
if (p_upper == g_a_rank_bounds + num_distinct_rank_bounds)
return max_rank;
diff --git a/libstdc++-v3/include/parallel/algo.h b/libstdc++-v3/include/parallel/algo.h
index 89b7f6d..26d9e4c 100644
--- a/libstdc++-v3/include/parallel/algo.h
+++ b/libstdc++-v3/include/parallel/algo.h
@@ -273,12 +273,12 @@ namespace __parallel
_BinaryPredicate __comp)
{
typedef std::iterator_traits<_IIter> _IIterTraits;
- typedef std::iterator_traits<_FIterator> iteratorf_traits;
+ typedef std::iterator_traits<_FIterator> _FIterTraits;
typedef typename _IIterTraits::iterator_category _IIteratorCategory;
- typedef typename iteratorf_traits::iterator_category iteratorf_category;
+ typedef typename _FIterTraits::iterator_category _FIteratorCategory;
return __find_first_of_switch(__begin1, __end1, __begin2, __end2, __comp,
- _IIteratorCategory(), iteratorf_category());
+ _IIteratorCategory(), _FIteratorCategory());
}
// Public interface, insert default comparator
@@ -288,9 +288,9 @@ namespace __parallel
_FIterator __begin2, _FIterator __end2)
{
typedef std::iterator_traits<_IIter> _IIterTraits;
- typedef std::iterator_traits<_FIterator> iteratorf_traits;
+ typedef std::iterator_traits<_FIterator> _FIterTraits;
typedef typename _IIterTraits::value_type _IValueType;
- typedef typename iteratorf_traits::value_type _FValueType;
+ typedef typename _FIterTraits::value_type _FValueType;
return __gnu_parallel::find_first_of(__begin1, __end1, __begin2, __end2,
__gnu_parallel::_EqualTo<_IValueType, _FValueType>());
diff --git a/libstdc++-v3/include/parallel/algobase.h b/libstdc++-v3/include/parallel/algobase.h
index 20456b5..8d6ec19 100644
--- a/libstdc++-v3/include/parallel/algobase.h
+++ b/libstdc++-v3/include/parallel/algobase.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 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
@@ -38,8 +38,7 @@
#include <bits/stl_algobase.h>
#include <parallel/base.h>
-#include <parallel/tags.h>
-#include <parallel/settings.h>
+#include <parallel/algorithmfwd.h>
#include <parallel/find.h>
#include <parallel/find_selectors.h>
diff --git a/libstdc++-v3/include/parallel/losertree.h b/libstdc++-v3/include/parallel/losertree.h
index cb24f7f..577497e 100644
--- a/libstdc++-v3/include/parallel/losertree.h
+++ b/libstdc++-v3/include/parallel/losertree.h
@@ -171,6 +171,7 @@ namespace __gnu_parallel
{
typedef _LoserTreeBase<_Tp, _Compare> _Base;
using _Base::_M_k;
+ using _Base::_M_comp;
using _Base::_M_losers;
using _Base::_M_first_insert;
@@ -263,6 +264,7 @@ namespace __gnu_parallel
typedef _LoserTreeBase<_Tp, _Compare> _Base;
using _Base::_M_log_k;
using _Base::_M_k;
+ using _Base::_M_comp;
using _Base::_M_losers;
using _Base::_M_first_insert;
@@ -409,6 +411,7 @@ namespace __gnu_parallel
{
typedef _LoserTreePointerBase<_Tp, _Compare> _Base;
using _Base::_M_k;
+ using _Base::_M_comp;
using _Base::_M_losers;
public:
@@ -490,6 +493,7 @@ namespace __gnu_parallel
{
typedef _LoserTreePointerBase<_Tp, _Compare> _Base;
using _Base::_M_k;
+ using _Base::_M_comp;
using _Base::_M_losers;
public:
@@ -644,6 +648,7 @@ namespace __gnu_parallel
{
typedef _LoserTreeUnguardedBase<_Tp, _Compare> _Base;
using _Base::_M_k;
+ using _Base::_M_comp;
using _Base::_M_losers;
public:
@@ -731,6 +736,7 @@ namespace __gnu_parallel
{
typedef _LoserTreeUnguardedBase<_Tp, _Compare> _Base;
using _Base::_M_k;
+ using _Base::_M_comp;
using _Base::_M_losers;
public:
@@ -887,6 +893,7 @@ namespace __gnu_parallel
{
typedef _LoserTreePointerUnguardedBase<_Tp, _Compare> _Base;
using _Base::_M_k;
+ using _Base::_M_comp;
using _Base::_M_losers;
public:
@@ -972,6 +979,7 @@ namespace __gnu_parallel
{
typedef _LoserTreePointerUnguardedBase<_Tp, _Compare> _Base;
using _Base::_M_k;
+ using _Base::_M_comp;
using _Base::_M_losers;
public:
diff --git a/libstdc++-v3/include/parallel/multiseq_selection.h b/libstdc++-v3/include/parallel/multiseq_selection.h
index e77653a..cfba9c4 100644
--- a/libstdc++-v3/include/parallel/multiseq_selection.h
+++ b/libstdc++-v3/include/parallel/multiseq_selection.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 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
@@ -46,8 +46,6 @@
#include <bits/stl_algo.h>
-#include <parallel/sort.h>
-
namespace __gnu_parallel
{
/** @brief Compare __a pair of types lexicographically, ascending. */
diff --git a/libstdc++-v3/include/parallel/multiway_merge.h b/libstdc++-v3/include/parallel/multiway_merge.h
index 1c73ad0..bae6a5c 100644
--- a/libstdc++-v3/include/parallel/multiway_merge.h
+++ b/libstdc++-v3/include/parallel/multiway_merge.h
@@ -45,6 +45,7 @@
#include <parallel/features.h>
#include <parallel/parallel.h>
#include <parallel/losertree.h>
+#include <parallel/multiseq_selection.h>
#if _GLIBCXX_ASSERTIONS
#include <parallel/checkers.h>
#endif
@@ -54,6 +55,12 @@
namespace __gnu_parallel
{
+ template<typename _RAIter1, typename _RAIter2, typename _OutputIterator,
+ typename _DifferenceTp, typename _Compare>
+ _OutputIterator
+ __merge_advance(_RAIter1&, _RAIter1, _RAIter2&, _RAIter2,
+ _OutputIterator, _DifferenceTp, _Compare);
+
/** @brief _Iterator wrapper supporting an implicit supremum at the end
* of the sequence, dominating all comparisons.
*
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc
index e41e073..65d9c11 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc
@@ -1,7 +1,7 @@
+// { dg-require-debug-mode "" }
// { dg-require-time "" }
// This can take long on simulators, timing out the test.
-// { dg-options "-D_GLIBCXX_DEBUG -DITERATIONS=5" { target simulator } }
-// { dg-options "-D_GLIBCXX_DEBUG" }
+// { dg-options "-DITERATIONS=5" { target simulator } }
// { dg-timeout-factor 2.0 }
// -*- C++ -*-
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc
index 8729f41..bc5a596 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc
@@ -1,7 +1,7 @@
+// { dg-require-debug-mode "" }
// { dg-require-time "" }
// This can take long on simulators, timing out the test.
-// { dg-options "-D_GLIBCXX_DEBUG -DITERATIONS=5" { target simulator } }
-// { dg-options "-D_GLIBCXX_DEBUG" }
+// { dg-options "-DITERATIONS=5" { target simulator } }
// { dg-timeout-factor 2.0 }
// -*- C++ -*-
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc
index bfb2ed4..3a9fc3c 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc
@@ -1,5 +1,5 @@
+// { dg-require-debug-mode "" }
// { dg-require-time "" }
-// { dg-options "-D_GLIBCXX_DEBUG" }
// { dg-timeout-factor 2.0 }
// -*- C++ -*-
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc
index c39eb0d..065ca9d 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc
@@ -1,5 +1,5 @@
+// { dg-require-debug-mode "" }
// { dg-require-time "" }
-// { dg-options "-D_GLIBCXX_DEBUG" }
// { dg-timeout-factor 2.0 }
// -*- C++ -*-
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc
index dda9915..1d6dcf1 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc
@@ -1,7 +1,7 @@
+// { dg-require-debug-mode "" }
// { dg-require-time "" }
// This can take long on simulators, timing out the test.
-// { dg-options "-D_GLIBCXX_DEBUG -DITERATIONS=5" { target simulator } }
-// { dg-options "-D_GLIBCXX_DEBUG" }
+// { dg-options "-DITERATIONS=5" { target simulator } }
// { dg-timeout-factor 2.0 }
// -*- C++ -*-
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc
index 934d96d..75b31f0 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc
@@ -1,7 +1,7 @@
+// { dg-require-debug-mode "" }
// { dg-require-time "" }
// This can take long on simulators, timing out the test.
-// { dg-options "-D_GLIBCXX_DEBUG -DITERATIONS=5" { target simulator } }
-// { dg-options "-D_GLIBCXX_DEBUG" }
+// { dg-options "-DITERATIONS=5" { target simulator } }
// { dg-timeout-factor 2.0 }
// -*- C++ -*-
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc
index 146fc1f..1e85d01 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc
@@ -1,7 +1,7 @@
+// { dg-require-debug-mode "" }
// { dg-require-time "" }
// This can take long on simulators, timing out the test.
-// { dg-options "-D_GLIBCXX_DEBUG -DITERATIONS=5" { target simulator } }
-// { dg-options "-D_GLIBCXX_DEBUG" }
+// { dg-options "-DITERATIONS=5" { target simulator } }
// { dg-timeout-factor 2.0 }
// -*- C++ -*-
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc
index 5d7ada8..701e7d8 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc
@@ -1,7 +1,7 @@
+// { dg-require-debug-mode "" }
// { dg-require-time "" }
// This can take long on simulators, timing out the test.
-// { dg-options "-D_GLIBCXX_DEBUG -DITERATIONS=5" { target simulator } }
-// { dg-options "-D_GLIBCXX_DEBUG" }
+// { dg-options "-DITERATIONS=5" { target simulator } }
// { dg-timeout-factor 2.0 }
// -*- C++ -*-
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc
index b075e5b..19a201d 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc
@@ -1,7 +1,7 @@
+// { dg-require-debug-mode "" }
// { dg-require-time "" }
// This can take long on simulators, timing out the test.
-// { dg-options "-D_GLIBCXX_DEBUG -DITERATIONS=5" { target simulator } }
-// { dg-options "-D_GLIBCXX_DEBUG" }
+// { dg-options "-DITERATIONS=5" { target simulator } }
// { dg-timeout-factor 2.0 }
// -*- C++ -*-