[Bug libstdc++/33487] New: parallel v3: more functions not in right namespace

bangerth at dealii dot org gcc-bugzilla@gcc.gnu.org
Wed Sep 19 02:38:00 GMT 2007


As a corollary to PR 33486, here is a valid program that doesn't
compile in parallel mode:
------------------
#include <algorithm>
void f () {
  int *p, *q;
  std::random_shuffle (p, q);
}
------------------
The reason is that random_shuffle internally calls a function that isn't
found in the correct namespaces:

4.3.0/parallel/random_shuffle.h: In function 'void
__gnu_parallel::sequential_random_shuffle(RandomAccessIterator,
RandomAccessIterator, RandomNumberGenerator&) [with RandomAccessIterator =
int*, RandomNumberGenerator = std::__parallel::c_rand_number<int>]':
4.3.0/parallel/algo.h:1230:   instantiated from 'void
std::__parallel::random_shuffle(_RAIter, _RAIter, RandomNumberGenerator&) [with
_RAIter = int*, RandomNumberGenerator = std::__parallel::c_rand_number<int>]'
4.3.0/parallel/algo.h:1217:   instantiated from 'void
std::__parallel::random_shuffle(_RAIter, _RAIter) [with _RAIter = int*]'
x.cc:4:   instantiated from here
4.3.0/parallel/random_shuffle.h:471: error: 'partial_sum' was not declared in
this scope
4.3.0/parallel/random_shuffle.h: In function 'void
__gnu_parallel::parallel_random_shuffle_drs_pu(__gnu_parallel::DRSSorterPU<RandomAccessIterator,
RandomNumberGenerator>*) [with RandomAccessIterator = int*,
RandomNumberGenerator = __gnu_parallel::random_number]':
4.3.0/parallel/random_shuffle.h:380:   instantiated from 'void
__gnu_parallel::parallel_random_shuffle_drs(RandomAccessIterator,
RandomAccessIterator, typename
std::iterator_traits<_Iterator>::difference_type, int, RandomNumberGenerator&)
[with RandomAccessIterator = int*, RandomNumberGenerator =
std::__parallel::c_rand_number<int>]'
4.3.0/parallel/random_shuffle.h:511:   instantiated from 'void
__gnu_parallel::parallel_random_shuffle(RandomAccessIterator,
RandomAccessIterator, RandomNumberGenerator) [with RandomAccessIterator = int*,
RandomNumberGenerator = std::__parallel::c_rand_number<int>]'
4.3.0/parallel/algo.h:1228:   instantiated from 'void
std::__parallel::random_shuffle(_RAIter, _RAIter, RandomNumberGenerator&) [with
_RAIter = int*, RandomNumberGenerator = std::__parallel::c_rand_number<int>]'
4.3.0/parallel/algo.h:1217:   instantiated from 'void
std::__parallel::random_shuffle(_RAIter, _RAIter) [with _RAIter = int*]'
x.cc:4:   instantiated from here
4.3.0/parallel/random_shuffle.h:187: error: 'partial_sum' was not declared in
this scope
4.3.0/parallel/random_shuffle.h: In function 'void
__gnu_parallel::sequential_random_shuffle(RandomAccessIterator,
RandomAccessIterator, RandomNumberGenerator&) [with RandomAccessIterator =
int*, RandomNumberGenerator = __gnu_parallel::random_number]':
4.3.0/parallel/random_shuffle.h:252:   instantiated from 'void
__gnu_parallel::parallel_random_shuffle_drs_pu(__gnu_parallel::DRSSorterPU<RandomAccessIterator,
RandomNumberGenerator>*) [with RandomAccessIterator = int*,
RandomNumberGenerator = __gnu_parallel::random_number]'
4.3.0/parallel/random_shuffle.h:380:   instantiated from 'void
__gnu_parallel::parallel_random_shuffle_drs(RandomAccessIterator,
RandomAccessIterator, typename
std::iterator_traits<_Iterator>::difference_type, int, RandomNumberGenerator&)
[with RandomAccessIterator = int*, RandomNumberGenerator =
std::__parallel::c_rand_number<int>]'
4.3.0/parallel/random_shuffle.h:511:   instantiated from 'void
__gnu_parallel::parallel_random_shuffle(RandomAccessIterator,
RandomAccessIterator, RandomNumberGenerator) [with RandomAccessIterator = int*,
RandomNumberGenerator = std::__parallel::c_rand_number<int>]'
4.3.0/parallel/algo.h:1228:   instantiated from 'void
std::__parallel::random_shuffle(_RAIter, _RAIter, RandomNumberGenerator&) [with
_RAIter = int*, RandomNumberGenerator = std::__parallel::c_rand_number<int>]'
4.3.0/parallel/algo.h:1217:   instantiated from 'void
std::__parallel::random_shuffle(_RAIter, _RAIter) [with _RAIter = int*]'
x.cc:4:   instantiated from here
4.3.0/parallel/random_shuffle.h:471: error: 'partial_sum' was not declared in
this scope


-- 
           Summary: parallel v3: more functions not in right namespace
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P3
         Component: libstdc++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: bangerth at dealii dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33487



More information about the Gcc-bugs mailing list