Language
C++
Compiler
clang 7.0.0
Options
Warnings
Boost 1.68.0
C++2a(GNU)
no pedantic
Raw compiler options
-fcoroutines-ts
$ clang++ prog.cc -Wall -Wextra -I/opt/wandbox/boost-1.68.0/clang-7.0.0/include -std=gnu++2a -fcoroutines-ts
Coroutines with very talkative implementations
==============================================
Eager (initial_suspend() and final_suspend() return suspend_never{})
--------------------------------------------------------------------
in promise_type() constructor
in get_return_object()
in Blabbermouth(coroutine_handle) constructor
in initial_suspend()
in BlabberObject default constructor
in test_coroutine_suspend_never() body
in return_void()
in ~BlabberObject()
in final_suspend()
in ~promise_type()
in ~Blabbermouth()
Lazy (initial_suspend() and final_suspend() return suspend_always{})
--------------------------------------------------------------------
in promise_type() constructor
in get_return_object()
in Blabbermouth(coroutine_handle) constructor
in initial_suspend()
(back in main, before calling resume_blabbering())
in resume_blabbering()
in BlabberObject default constructor
in test_coroutine_suspend_always() body
in return_void()
in ~BlabberObject()
in final_suspend()
(back in main, after calling resume, before calling destroy)
in destroy_blabber()
in ~promise_type()
(back in main, after calling destroy)
in ~Blabbermouth()
Eager (initial_suspend() and final_suspend() return TalkativeSuspendNeverPromise)
---------------------------------------------------------------------------------
in promise_type() constructor
in get_return_object()
in Blabbermouth(coroutine_handle) constructor
in initial_suspend()
in TalkativeSuspendNeverAwaiter::await_ready()
in TalkativeSuspendNeverAwaiter::await_resume()
in BlabberObject default constructor
in test_coroutine_talkative_suspend_never() body
in return_void()
in ~BlabberObject()
in final_suspend()
in TalkativeSuspendNeverAwaiter::await_ready()
in TalkativeSuspendNeverAwaiter::await_resume()
in ~promise_type()
in ~Blabbermouth()
Eager (initial_suspend() and final_suspend() return MoreTalkativeSuspendNeverPromise)
-------------------------------------------------------------------------------------
in promise_type() constructor
in get_return_object()
in Blabbermouth(coroutine_handle) constructor
in initial_suspend()
in operator co_await(TalkativeSuspendNeverAwaitable const&)
in TalkativeSuspendNeverAwaiter::await_ready()
in TalkativeSuspendNeverAwaiter::await_resume()
in BlabberObject default constructor
in test_coroutine_more_talkative_suspend_never() body
in return_void()
in ~BlabberObject()
in final_suspend()
in operator co_await(TalkativeSuspendNeverAwaitable const&)
in TalkativeSuspendNeverAwaiter::await_ready()
in TalkativeSuspendNeverAwaiter::await_resume()
in ~promise_type()
in ~Blabbermouth()
Lazy Ping-Pong
--------------
in promise_type() constructor
in get_return_object()
in Blabbermouth(coroutine_handle) constructor
in initial_suspend()
in operator co_await(TalkativeSuspendNeverAwaitable const&)
in TalkativeSuspendNeverAwaiter::await_ready()
in TalkativeSuspendNeverAwaiter::await_resume()
in BlabberObject default constructor
in test_coroutine_more_talkative_suspend_never() body
in return_void()
in ~BlabberObject()
in final_suspend()
in operator co_await(TalkativeSuspendNeverAwaitable const&)
in TalkativeSuspendNeverAwaiter::await_ready()
in TalkativeSuspendNeverAwaiter::await_resume()
in ~promise_type()
in ~Blabbermouth()
in promise_type() constructor
in get_return_object()
in Blabbermouth(coroutine_handle) constructor
in initial_suspend()
(back in main, before first call to resume)
in resume_blabbering()
in BlabberObject default constructor
in test_coroutine_suspend_always() body
in SuspendAlwaysAwaitable constructor
(back in main, before second call to resume)
in resume_blabbering()
in ~SuspendAlwaysAwaitable()
back in test_coroutine_suspend_always() body
in return_void()
in ~BlabberObject()
in final_suspend()
(back in main, before destroy)
in destroy_blabber()
in ~promise_type()
(back in main, after destroy)
in ~Blabbermouth()
Exit Code:
0