[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