[all-commits] [llvm/llvm-project] c25ace: [Coroutines] Handle dependent promise types for fi...

Xun Li via All-commits all-commits at lists.llvm.org
Thu Jun 25 11:27:45 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: c25acec84594ca15748553341969f8e579290e27
      https://github.com/llvm/llvm-project/commit/c25acec84594ca15748553341969f8e579290e27
  Author: Xun Li <xun at fb.com>
  Date:   2020-06-25 (Thu, 25 Jun 2020)

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

  Log Message:
  -----------
  [Coroutines] Handle dependent promise types for final_suspend non-throw check

Summary:
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.

Reviewers: Benabik, lewissbaker, junparser, modocache

Reviewed By: modocache

Subscribers: modocache, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82332




More information about the All-commits mailing list