https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110827
--- Comment #4 from Michael Duggan <mwd at md5i dot com> --- I should be more explicit. The `std::cout` line in the example is just a placeholder for "does some work here," and this example is specifically the simplest version of a coroutine I could come up with that would demonstrate the problem. When I initially encountered this problem, I was doing coverage testing that included a coroutine that was over 70 lines long, includes lots of loops and branching, and exited and re-entered multiple times via `co_yield`. I wanted to know if my test programs properly covered all of the branches. It is not enough to know how many times the coroutine itself is called.