Skip to content

Commit 1b55fde

Browse files
committed
[libcxx] Change-detector for await_suspend control flow & end-to-end test for [[clang::coro_await_suspend_destroy]]
When reviewing llvm#152623, @@ChuanqiXu9 suggested that it's better to separate `clang` and `libcxx` changes, so I did that here. This event-replay test is compatible with compilers lacking the new attribute. The two PRs can be landed in any order. Furthermore, the test does not just verify the attribute's correct behavior. By storing "gold" event traces, it also provides some protection against future breakage in the complex control flow of the C++ coroutine implementation. Since suspension remains an area of active optimization work, such bugs are not ruled out. As a new contributor to LLVM, I myself made (and fixed) 2 control-flow bugs while working on llvm#152623. This test would've caught both.
1 parent 6f53f1c commit 1b55fde

File tree

3 files changed

+2879
-0
lines changed

3 files changed

+2879
-0
lines changed

0 commit comments

Comments
 (0)