[clang-tidy] Do not emit bugprone-exception-escape warnings from coroutines
authorDeniz Evrenci <denizevrenci@gmail.com>
Tue, 30 May 2023 16:48:28 +0000 (16:48 +0000)
committerPiotr Zegar <me@piotrzegar.pl>
Tue, 30 May 2023 17:48:11 +0000 (17:48 +0000)
commit6219b7c61a942fb8b6d931b4aac021d293cdde4d
tree1054550feddad2748c0664d159ac42ea57059bf0
parent6cdc07a701eec08da450be58d6e1b67428a983dd
[clang-tidy] Do not emit bugprone-exception-escape warnings from coroutines

All exceptions thrown in coroutine bodies are caught and
unhandled_exception member of the coroutine promise type is called.
In accordance with the existing rules of diagnostics related to
exceptions thrown in functions marked noexcept, even if the promise
type's constructor, get_return_object, or unhandled_exception
throws, diagnostics should not be emitted.

Fixes #61905.

Reviewed By: PiotrZSL, ChuanqiXu

Differential Revision: https://reviews.llvm.org/D147417
clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
clang-tools-extra/docs/ReleaseNotes.rst
clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-coro.cpp [new file with mode: 0644]
clang/include/clang/AST/StmtCXX.h