[PATCH] D31487: [coroutines] Fix rebuilding of implicit and dependent coroutine statements.
Eric Fiselier via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Mar 29 18:25:56 PDT 2017
EricWF created this revision.
Certain implicitly generated coroutine statements, such as the calls to 'return_value()' or `return_void()` or `get_return_object_on_allocation_failure()`, cannot be built until the promise type is no longer dependent. This means they are not built until after the coroutine body statement has been transformed.
This patch fixes an issue where these statements would never be built for coroutine templates.
It also fixes a small issue where diagnostics about `get_return_object_on_allocation_failure()` were incorrectly suppressed.
https://reviews.llvm.org/D31487
Files:
include/clang/AST/StmtCXX.h
lib/AST/StmtCXX.cpp
lib/Sema/CoroutineBuilder.h
lib/Sema/SemaCoroutine.cpp
lib/Sema/TreeTransform.h
test/SemaCXX/coroutines.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D31487.93435.patch
Type: text/x-patch
Size: 20912 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170330/bf57e339/attachment-0001.bin>
More information about the cfe-commits
mailing list