X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=libstdc%2B%2B-v3%2Finclude%2Fparallel%2Fmultiway_merge.h;h=a5fd3be1bd08e859ab9ea0636e6b9102277f96d4;hb=df9cb15f7a5b240dee489f38d9237e3ecd05a9af;hp=1c73ad0042db8b93acbc8c57483c9b25fad9bfa0;hpb=9f1163b171df2a6f9faec0af92c7e651bf69db72;p=gcc.git diff --git a/libstdc++-v3/include/parallel/multiway_merge.h b/libstdc++-v3/include/parallel/multiway_merge.h index 1c73ad0042d..a5fd3be1bd0 100644 --- a/libstdc++-v3/include/parallel/multiway_merge.h +++ b/libstdc++-v3/include/parallel/multiway_merge.h @@ -1045,12 +1045,11 @@ namespace __gnu_parallel _ValueType; // __k sequences. - const _SeqNumber __k - = static_cast<_SeqNumber>(__seqs_end - __seqs_begin); + _SeqNumber __k = static_cast<_SeqNumber>(__seqs_end - __seqs_begin); - const _ThreadIndex __num_threads = omp_get_num_threads(); + _ThreadIndex __num_threads = omp_get_num_threads(); - const _DifferenceType __num_samples = + _DifferenceType __num_samples = __gnu_parallel::_Settings::get().merge_oversampling * __num_threads; _ValueType* __samples = static_cast<_ValueType*> @@ -1097,10 +1096,6 @@ namespace __gnu_parallel __pieces[__slab][__seq].second = _GLIBCXX_PARALLEL_LENGTH(__seqs_begin[__seq]); } - - for (_SeqNumber __s = 0; __s < __k; ++__s) - for (_DifferenceType __i = 0; __i < __num_samples; ++__i) - __samples[__s * __num_samples + __i].~_ValueType(); ::operator delete(__samples); } @@ -1263,10 +1258,10 @@ namespace __gnu_parallel __length = std::min<_DifferenceTp>(__length, __total_length); if (__total_length == 0 || __k == 0) - { - delete[] __ne_seqs; - return __target; - } + { + delete[] __ne_seqs; + return __target; + } std::vector >* __pieces;