mirror of
https://gcc.gnu.org/git/gcc.git
synced 2025-01-07 11:33:45 +08:00
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
This commit is contained in:
parent
0219becc2c
commit
e330aa5b35
@ -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>
|
2011-05-26 Paolo Carlini <paolo.carlini@oracle.com>
|
||||||
|
|
||||||
* src/list.cc: Use noexcept per the FDIS.
|
* src/list.cc: Use noexcept per the FDIS.
|
||||||
|
@ -244,9 +244,9 @@ rank_bound()
|
|||||||
{
|
{
|
||||||
using namespace std;
|
using namespace std;
|
||||||
const size_t* const p_upper =
|
const size_t* const p_upper =
|
||||||
_GLIBCXX_STD_A::upper_bound(g_a_rank_bounds,
|
std::upper_bound(g_a_rank_bounds,
|
||||||
g_a_rank_bounds + num_distinct_rank_bounds,
|
g_a_rank_bounds + num_distinct_rank_bounds,
|
||||||
base_type::m_size);
|
base_type::m_size);
|
||||||
|
|
||||||
if (p_upper == g_a_rank_bounds + num_distinct_rank_bounds)
|
if (p_upper == g_a_rank_bounds + num_distinct_rank_bounds)
|
||||||
return max_rank;
|
return max_rank;
|
||||||
|
@ -273,12 +273,12 @@ namespace __parallel
|
|||||||
_BinaryPredicate __comp)
|
_BinaryPredicate __comp)
|
||||||
{
|
{
|
||||||
typedef std::iterator_traits<_IIter> _IIterTraits;
|
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 _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,
|
return __find_first_of_switch(__begin1, __end1, __begin2, __end2, __comp,
|
||||||
_IIteratorCategory(), iteratorf_category());
|
_IIteratorCategory(), _FIteratorCategory());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Public interface, insert default comparator
|
// Public interface, insert default comparator
|
||||||
@ -288,9 +288,9 @@ namespace __parallel
|
|||||||
_FIterator __begin2, _FIterator __end2)
|
_FIterator __begin2, _FIterator __end2)
|
||||||
{
|
{
|
||||||
typedef std::iterator_traits<_IIter> _IIterTraits;
|
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 _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,
|
return __gnu_parallel::find_first_of(__begin1, __end1, __begin2, __end2,
|
||||||
__gnu_parallel::_EqualTo<_IValueType, _FValueType>());
|
__gnu_parallel::_EqualTo<_IValueType, _FValueType>());
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// -*- C++ -*-
|
// -*- 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
|
// 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
|
// software; you can redistribute it and/or modify it under the terms
|
||||||
@ -38,8 +38,7 @@
|
|||||||
|
|
||||||
#include <bits/stl_algobase.h>
|
#include <bits/stl_algobase.h>
|
||||||
#include <parallel/base.h>
|
#include <parallel/base.h>
|
||||||
#include <parallel/tags.h>
|
#include <parallel/algorithmfwd.h>
|
||||||
#include <parallel/settings.h>
|
|
||||||
#include <parallel/find.h>
|
#include <parallel/find.h>
|
||||||
#include <parallel/find_selectors.h>
|
#include <parallel/find_selectors.h>
|
||||||
|
|
||||||
|
@ -171,6 +171,7 @@ namespace __gnu_parallel
|
|||||||
{
|
{
|
||||||
typedef _LoserTreeBase<_Tp, _Compare> _Base;
|
typedef _LoserTreeBase<_Tp, _Compare> _Base;
|
||||||
using _Base::_M_k;
|
using _Base::_M_k;
|
||||||
|
using _Base::_M_comp;
|
||||||
using _Base::_M_losers;
|
using _Base::_M_losers;
|
||||||
using _Base::_M_first_insert;
|
using _Base::_M_first_insert;
|
||||||
|
|
||||||
@ -263,6 +264,7 @@ namespace __gnu_parallel
|
|||||||
typedef _LoserTreeBase<_Tp, _Compare> _Base;
|
typedef _LoserTreeBase<_Tp, _Compare> _Base;
|
||||||
using _Base::_M_log_k;
|
using _Base::_M_log_k;
|
||||||
using _Base::_M_k;
|
using _Base::_M_k;
|
||||||
|
using _Base::_M_comp;
|
||||||
using _Base::_M_losers;
|
using _Base::_M_losers;
|
||||||
using _Base::_M_first_insert;
|
using _Base::_M_first_insert;
|
||||||
|
|
||||||
@ -409,6 +411,7 @@ namespace __gnu_parallel
|
|||||||
{
|
{
|
||||||
typedef _LoserTreePointerBase<_Tp, _Compare> _Base;
|
typedef _LoserTreePointerBase<_Tp, _Compare> _Base;
|
||||||
using _Base::_M_k;
|
using _Base::_M_k;
|
||||||
|
using _Base::_M_comp;
|
||||||
using _Base::_M_losers;
|
using _Base::_M_losers;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -490,6 +493,7 @@ namespace __gnu_parallel
|
|||||||
{
|
{
|
||||||
typedef _LoserTreePointerBase<_Tp, _Compare> _Base;
|
typedef _LoserTreePointerBase<_Tp, _Compare> _Base;
|
||||||
using _Base::_M_k;
|
using _Base::_M_k;
|
||||||
|
using _Base::_M_comp;
|
||||||
using _Base::_M_losers;
|
using _Base::_M_losers;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -644,6 +648,7 @@ namespace __gnu_parallel
|
|||||||
{
|
{
|
||||||
typedef _LoserTreeUnguardedBase<_Tp, _Compare> _Base;
|
typedef _LoserTreeUnguardedBase<_Tp, _Compare> _Base;
|
||||||
using _Base::_M_k;
|
using _Base::_M_k;
|
||||||
|
using _Base::_M_comp;
|
||||||
using _Base::_M_losers;
|
using _Base::_M_losers;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -731,6 +736,7 @@ namespace __gnu_parallel
|
|||||||
{
|
{
|
||||||
typedef _LoserTreeUnguardedBase<_Tp, _Compare> _Base;
|
typedef _LoserTreeUnguardedBase<_Tp, _Compare> _Base;
|
||||||
using _Base::_M_k;
|
using _Base::_M_k;
|
||||||
|
using _Base::_M_comp;
|
||||||
using _Base::_M_losers;
|
using _Base::_M_losers;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -887,6 +893,7 @@ namespace __gnu_parallel
|
|||||||
{
|
{
|
||||||
typedef _LoserTreePointerUnguardedBase<_Tp, _Compare> _Base;
|
typedef _LoserTreePointerUnguardedBase<_Tp, _Compare> _Base;
|
||||||
using _Base::_M_k;
|
using _Base::_M_k;
|
||||||
|
using _Base::_M_comp;
|
||||||
using _Base::_M_losers;
|
using _Base::_M_losers;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -972,6 +979,7 @@ namespace __gnu_parallel
|
|||||||
{
|
{
|
||||||
typedef _LoserTreePointerUnguardedBase<_Tp, _Compare> _Base;
|
typedef _LoserTreePointerUnguardedBase<_Tp, _Compare> _Base;
|
||||||
using _Base::_M_k;
|
using _Base::_M_k;
|
||||||
|
using _Base::_M_comp;
|
||||||
using _Base::_M_losers;
|
using _Base::_M_losers;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// -*- C++ -*-
|
// -*- 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
|
// 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
|
// software; you can redistribute it and/or modify it under the terms
|
||||||
@ -46,8 +46,6 @@
|
|||||||
|
|
||||||
#include <bits/stl_algo.h>
|
#include <bits/stl_algo.h>
|
||||||
|
|
||||||
#include <parallel/sort.h>
|
|
||||||
|
|
||||||
namespace __gnu_parallel
|
namespace __gnu_parallel
|
||||||
{
|
{
|
||||||
/** @brief Compare __a pair of types lexicographically, ascending. */
|
/** @brief Compare __a pair of types lexicographically, ascending. */
|
||||||
|
@ -45,6 +45,7 @@
|
|||||||
#include <parallel/features.h>
|
#include <parallel/features.h>
|
||||||
#include <parallel/parallel.h>
|
#include <parallel/parallel.h>
|
||||||
#include <parallel/losertree.h>
|
#include <parallel/losertree.h>
|
||||||
|
#include <parallel/multiseq_selection.h>
|
||||||
#if _GLIBCXX_ASSERTIONS
|
#if _GLIBCXX_ASSERTIONS
|
||||||
#include <parallel/checkers.h>
|
#include <parallel/checkers.h>
|
||||||
#endif
|
#endif
|
||||||
@ -54,6 +55,12 @@
|
|||||||
|
|
||||||
namespace __gnu_parallel
|
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
|
/** @brief _Iterator wrapper supporting an implicit supremum at the end
|
||||||
* of the sequence, dominating all comparisons.
|
* of the sequence, dominating all comparisons.
|
||||||
*
|
*
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
// { dg-require-debug-mode "" }
|
||||||
// { dg-require-time "" }
|
// { dg-require-time "" }
|
||||||
// This can take long on simulators, timing out the test.
|
// This can take long on simulators, timing out the test.
|
||||||
// { dg-options "-D_GLIBCXX_DEBUG -DITERATIONS=5" { target simulator } }
|
// { dg-options "-DITERATIONS=5" { target simulator } }
|
||||||
// { dg-options "-D_GLIBCXX_DEBUG" }
|
|
||||||
// { dg-timeout-factor 2.0 }
|
// { dg-timeout-factor 2.0 }
|
||||||
|
|
||||||
// -*- C++ -*-
|
// -*- C++ -*-
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
// { dg-require-debug-mode "" }
|
||||||
// { dg-require-time "" }
|
// { dg-require-time "" }
|
||||||
// This can take long on simulators, timing out the test.
|
// This can take long on simulators, timing out the test.
|
||||||
// { dg-options "-D_GLIBCXX_DEBUG -DITERATIONS=5" { target simulator } }
|
// { dg-options "-DITERATIONS=5" { target simulator } }
|
||||||
// { dg-options "-D_GLIBCXX_DEBUG" }
|
|
||||||
// { dg-timeout-factor 2.0 }
|
// { dg-timeout-factor 2.0 }
|
||||||
|
|
||||||
// -*- C++ -*-
|
// -*- C++ -*-
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
// { dg-require-debug-mode "" }
|
||||||
// { dg-require-time "" }
|
// { dg-require-time "" }
|
||||||
// { dg-options "-D_GLIBCXX_DEBUG" }
|
|
||||||
// { dg-timeout-factor 2.0 }
|
// { dg-timeout-factor 2.0 }
|
||||||
|
|
||||||
// -*- C++ -*-
|
// -*- C++ -*-
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
// { dg-require-debug-mode "" }
|
||||||
// { dg-require-time "" }
|
// { dg-require-time "" }
|
||||||
// { dg-options "-D_GLIBCXX_DEBUG" }
|
|
||||||
// { dg-timeout-factor 2.0 }
|
// { dg-timeout-factor 2.0 }
|
||||||
|
|
||||||
// -*- C++ -*-
|
// -*- C++ -*-
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
// { dg-require-debug-mode "" }
|
||||||
// { dg-require-time "" }
|
// { dg-require-time "" }
|
||||||
// This can take long on simulators, timing out the test.
|
// This can take long on simulators, timing out the test.
|
||||||
// { dg-options "-D_GLIBCXX_DEBUG -DITERATIONS=5" { target simulator } }
|
// { dg-options "-DITERATIONS=5" { target simulator } }
|
||||||
// { dg-options "-D_GLIBCXX_DEBUG" }
|
|
||||||
// { dg-timeout-factor 2.0 }
|
// { dg-timeout-factor 2.0 }
|
||||||
|
|
||||||
// -*- C++ -*-
|
// -*- C++ -*-
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
// { dg-require-debug-mode "" }
|
||||||
// { dg-require-time "" }
|
// { dg-require-time "" }
|
||||||
// This can take long on simulators, timing out the test.
|
// This can take long on simulators, timing out the test.
|
||||||
// { dg-options "-D_GLIBCXX_DEBUG -DITERATIONS=5" { target simulator } }
|
// { dg-options "-DITERATIONS=5" { target simulator } }
|
||||||
// { dg-options "-D_GLIBCXX_DEBUG" }
|
|
||||||
// { dg-timeout-factor 2.0 }
|
// { dg-timeout-factor 2.0 }
|
||||||
|
|
||||||
// -*- C++ -*-
|
// -*- C++ -*-
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
// { dg-require-debug-mode "" }
|
||||||
// { dg-require-time "" }
|
// { dg-require-time "" }
|
||||||
// This can take long on simulators, timing out the test.
|
// This can take long on simulators, timing out the test.
|
||||||
// { dg-options "-D_GLIBCXX_DEBUG -DITERATIONS=5" { target simulator } }
|
// { dg-options "-DITERATIONS=5" { target simulator } }
|
||||||
// { dg-options "-D_GLIBCXX_DEBUG" }
|
|
||||||
// { dg-timeout-factor 2.0 }
|
// { dg-timeout-factor 2.0 }
|
||||||
|
|
||||||
// -*- C++ -*-
|
// -*- C++ -*-
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
// { dg-require-debug-mode "" }
|
||||||
// { dg-require-time "" }
|
// { dg-require-time "" }
|
||||||
// This can take long on simulators, timing out the test.
|
// This can take long on simulators, timing out the test.
|
||||||
// { dg-options "-D_GLIBCXX_DEBUG -DITERATIONS=5" { target simulator } }
|
// { dg-options "-DITERATIONS=5" { target simulator } }
|
||||||
// { dg-options "-D_GLIBCXX_DEBUG" }
|
|
||||||
// { dg-timeout-factor 2.0 }
|
// { dg-timeout-factor 2.0 }
|
||||||
|
|
||||||
// -*- C++ -*-
|
// -*- C++ -*-
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
// { dg-require-debug-mode "" }
|
||||||
// { dg-require-time "" }
|
// { dg-require-time "" }
|
||||||
// This can take long on simulators, timing out the test.
|
// This can take long on simulators, timing out the test.
|
||||||
// { dg-options "-D_GLIBCXX_DEBUG -DITERATIONS=5" { target simulator } }
|
// { dg-options "-DITERATIONS=5" { target simulator } }
|
||||||
// { dg-options "-D_GLIBCXX_DEBUG" }
|
|
||||||
// { dg-timeout-factor 2.0 }
|
// { dg-timeout-factor 2.0 }
|
||||||
|
|
||||||
// -*- C++ -*-
|
// -*- C++ -*-
|
||||||
|
Loading…
Reference in New Issue
Block a user