[PATCH] D116204: [C++20] [Coroutines] Allow promise_type to not define return_void or return_value
Chuanqi Xu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Dec 22 22:23:41 PST 2021
ChuanqiXu created this revision.
ChuanqiXu added reviewers: rjmccall, lxfind, Quuxplusone, urnathan.
ChuanqiXu added a project: clang.
ChuanqiXu requested review of this revision.
Herald added a subscriber: cfe-commits.
According to [[dcl.fct.def.coroutine]p6](http://eel.is/c++draft/dcl.fct.def.coroutine#6), the promise_type is allowed to not define return_void or return_value:
> If searches for the names return_void and return_value in the scope of the promise type each find any declarations, the program is ill-formed.
> [Note 1: If return_void is found, flowing off the end of a coroutine is equivalent to a co_return with no operand. Otherwise, flowing off the end of a coroutine results in
> undefined behavior ([stmt.return.coroutine]). — end note]
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D116204
Files:
clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/lib/Sema/SemaCoroutine.cpp
clang/test/SemaCXX/coroutines-exp-namespace.cpp
clang/test/SemaCXX/coroutines.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D116204.395976.patch
Type: text/x-patch
Size: 5146 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20211223/59c7413a/attachment.bin>
More information about the cfe-commits
mailing list