[PATCH] D82332: [Coroutines] Handle dependent promise types for final_suspend non-throw check

Xun Li via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 23 11:48:41 PDT 2020


lxfind created this revision.
Herald added subscribers: cfe-commits, modocache.
Herald added a project: clang.
lxfind updated this revision to Diff 272553.
lxfind added a comment.
lxfind added reviewers: Benabik, lewissbaker, junparser.
lxfind updated this revision to Diff 272786.
lxfind edited the summary of this revision.
lxfind requested review of this revision.

Simplify tests


lxfind added a comment.

Rebase


Check that the co_await promise.final_suspend() does not potentially throw again after we have resolved dependent types.
This takes care of the cases where promises types are templated.
Added test cases for this scenario and confirmed that the checks happen now.
Also run libcxx tests locally to make sure all tests pass.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D82332

Files:
  clang/include/clang/Sema/Sema.h
  clang/lib/Sema/SemaCoroutine.cpp
  clang/lib/Sema/TreeTransform.h
  clang/test/SemaCXX/coroutine-final-suspend-noexcept.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D82332.272786.patch
Type: text/x-patch
Size: 6463 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200623/48300a6b/attachment-0001.bin>


More information about the cfe-commits mailing list