X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=libstdc%2B%2B-v3%2Finclude%2Fparallel%2Frandom_shuffle.h;h=bae95724966b8462fd924f366062e1cd8c4a155b;hb=df9cb15f7a5b240dee489f38d9237e3ecd05a9af;hp=c3967c22880b6552a91f2acd478f6f257532a437;hpb=9f1163b171df2a6f9faec0af92c7e651bf69db72;p=gcc.git diff --git a/libstdc++-v3/include/parallel/random_shuffle.h b/libstdc++-v3/include/parallel/random_shuffle.h index c3967c22880..bae95724966 100644 --- a/libstdc++-v3/include/parallel/random_shuffle.h +++ b/libstdc++-v3/include/parallel/random_shuffle.h @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008, 2009, 2010 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 @@ -209,7 +209,7 @@ namespace __gnu_parallel _ThreadIndex __target_p = __bin_proc[__target_bin]; // Last column [__d->_M_num_threads] stays unchanged. - ::new(&(__temporaries[__target_p][__dist[__target_bin + 1]++])) + ::new(&(__temporaries[__target_p][__dist[__target_bin + 1]++])) _ValueType(*(__source + __i + __start)); } @@ -227,8 +227,8 @@ namespace __gnu_parallel (__sd->_M_temporaries[__iam] + (__b == __d->_M_bins_begin ? 0 : __sd->_M_dist[__b][__d->_M_num_threads])), - *__end = (__sd->_M_temporaries[__iam] - + __sd->_M_dist[__b + 1][__d->_M_num_threads]); + * __end = (__sd->_M_temporaries[__iam] + + __sd->_M_dist[__b + 1][__d->_M_num_threads]); __sequential_random_shuffle(__begin, __end, __rng); std::copy(__begin, __end, __sd->_M_source + __global_offset @@ -236,8 +236,6 @@ namespace __gnu_parallel ? 0 : __sd->_M_dist[__b][__d->_M_num_threads])); } - for (_SequenceIndex __i = 0; __i < __offset; ++__i) - __sd->_M_temporaries[__iam][__i].~_ValueType(); ::operator delete(__sd->_M_temporaries[__iam]); } @@ -503,9 +501,6 @@ namespace __gnu_parallel delete[] __dist0; delete[] __dist1; delete[] __oracles; - - for (_DifferenceType __i = 0; __i < __n; ++__i) - __target[__i].~_ValueType(); ::operator delete(__target); } else