You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[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.
0 commit comments