[libcxx-commits] [PATCH] D46140: [coroutines] Add std::experimental::task<T> type
Lewis Baker via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Mar 29 17:03:26 PDT 2019
lewissbaker updated this revision to Diff 192944.
lewissbaker marked 6 inline comments as done.
lewissbaker added a comment.
This updated diff should address most of @CaseyCarter's review comments.
For detailed changelog you can find individual changes here https://github.com/lewissbaker/libcxx/commits/coro_task
There are a few outstanding issues that still need some clarification on how to proceed:
- Should the task tests be taking a dependency on <experimental/memory_resource>?
- How should I implement a precondition check for `__aligned_allocation_size` when it is declared constexpr?
- I've not yet implemented support for `task<cv-void>`. Is this something we should support?
- I've not yet handling allocators with fancy pointer types. If we are to support them is there a standard way to convert a fancy pointer to a `void*` to return from `promise_type::operator new()`? Does it even make sense to support them if the compiler is potentially going to be storing raw pointers to things inside the coroutine frame?
Repository:
rCXX libc++
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D46140/new/
https://reviews.llvm.org/D46140
Files:
include/CMakeLists.txt
include/experimental/__memory
include/experimental/coroutine
include/experimental/memory_resource
include/experimental/task
include/module.modulemap
test/std/experimental/task/awaitable_traits.hpp
test/std/experimental/task/counted.hpp
test/std/experimental/task/lit.local.cfg
test/std/experimental/task/manual_reset_event.hpp
test/std/experimental/task/sync_wait.hpp
test/std/experimental/task/task.basic/task_custom_allocator.pass.cpp
test/std/experimental/task/task.basic/task_of_value.pass.cpp
test/std/experimental/task/task.basic/task_of_void.pass.cpp
test/std/experimental/task/task.lifetime/task_parameter_lifetime.pass.cpp
test/std/experimental/task/task.lifetime/task_return_value_lifetime.pass.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D46140.192944.patch
Type: text/x-patch
Size: 52972 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20190330/de9ce97f/attachment-0001.bin>
More information about the libcxx-commits
mailing list