[libcxx-commits] [PATCH] D74123: A fix for move placement-new (and destroy) allocated objects from raw memory.

Mikhail Dvorskiy via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu Feb 6 05:05:53 PST 2020


MikeDvorskiy created this revision.
MikeDvorskiy added reviewers: rodgert, ldionne.
MikeDvorskiy created this object with visibility "All Users".
Herald added subscribers: libcxx-commits, dexonsmith.

The fix affects follow algorithms:
remove_if, unique, rotate, inplace_merge, partial_sort_copy, set_union, set_intersection, set_difference, set_symmetric_difference.

1. For "is_trivial" types there are no problems with "creating objects/clean-up"
2. For non-trivial types the algo results are also correct, but possible incorrect copying/moving "operator="  calls "by raw memory" within one of mentioned algo or 	incorrect destructor calls in the end of algo.


Repository:
  rPSTL pstl

https://reviews.llvm.org/D74123

Files:
  include/pstl/internal/algorithm_impl.h
  include/pstl/internal/memory_impl.h
  include/pstl/internal/parallel_backend_utils.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D74123.242865.patch
Type: text/x-patch
Size: 20795 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20200206/368126d1/attachment-0001.bin>


More information about the libcxx-commits mailing list