1 #ifndef __MissingUEH_H
2 #define __MissingUEH_H
3 
4 /* Common code for testing missing unhandled_exception.  */
5 struct MissingUEH {
6   coro::coroutine_handle<> handle;
MissingUEHMissingUEH7   MissingUEH () : handle (nullptr) {}
MissingUEHMissingUEH8   MissingUEH (coro::coroutine_handle<> handle) : handle (handle) {}
9   struct missing_ueh {
initial_suspendMissingUEH::missing_ueh10     coro::suspend_never initial_suspend() { return {}; }
final_suspendMissingUEH::missing_ueh11     coro::suspend_never final_suspend() noexcept { return {}; }
get_return_objectMissingUEH::missing_ueh12     MissingUEH get_return_object() {
13       return MissingUEH (coro::coroutine_handle<missing_ueh>::from_promise (*this));
14     }
return_voidMissingUEH::missing_ueh15     void return_void () {}
16   };
17 };
18 
19 template<> struct coro::coroutine_traits<MissingUEH> {
20     using promise_type = MissingUEH::missing_ueh;
21 };
22 
23 #endif
24