llvm-project/clang/test/CodeGenCoroutines
Brian Gesiak ea9144e818 [Coroutines] Catch exceptions in await_resume
Summary:
http://wg21.link/P0664r2 section "Evolution/Core Issues 24" describes a
proposed change to Coroutines TS that would have any exceptions thrown
after the initial suspend point of a coroutine be caught by the handler
specified by the promise type's 'unhandled_exception' member function.
This commit provides a sample implementation of the specified behavior.

Test Plan: `check-clang`

Reviewers: GorNishanov, EricWF

Reviewed By: GorNishanov

Subscribers: cfe-commits, lewissbaker, eric_niebler

Differential Revision: https://reviews.llvm.org/D45860

llvm-svn: 331519
2018-05-04 14:02:37 +00:00
..
Inputs [coroutines] [NFC] Add tests for return_void, unhandled_exception and promise dtor 2017-05-24 14:19:48 +00:00
coro-alloc.cpp [Coroutines] Find custom allocators in class scope 2018-04-01 22:59:22 +00:00
coro-await-domination.cpp CGCleanup: (NFC) add another test for r304335 - Don't try to spill static allocas 2017-06-01 01:15:25 +00:00
coro-await-resume-eh.cpp [Coroutines] Catch exceptions in await_resume 2018-05-04 14:02:37 +00:00
coro-await.cpp [coroutines] Support coroutine-handle returning await-suspend (i.e symmetric control transfer) 2017-08-25 04:46:54 +00:00
coro-builtins-err.c
coro-builtins.c [coroutines] Add __builtin_coro_noop => llvm.coro.noop 2018-04-02 17:35:37 +00:00
coro-cleanup.cpp [coroutines] Add emission of initial and final suspends 2017-05-23 05:04:01 +00:00
coro-dest-slot.cpp [coroutines] Promote cleanup.dest.slot allocas to registers to avoid storing it in the coroutine frame 2017-11-11 17:00:43 +00:00
coro-eh-cleanup.cpp [MS] Don't escape MS C++ names with \01 2018-03-16 20:36:49 +00:00
coro-gro-nrvo.cpp [Coroutines] Use allocator overload when available 2018-02-15 20:37:22 +00:00
coro-gro.cpp [coroutines] Implement correct GRO lifetime 2017-05-24 02:38:26 +00:00
coro-lambda.cpp [coroutines] Make generic lambda coroutines work 2017-05-24 15:44:57 +00:00
coro-params.cpp [Coroutines] Use allocator overload when available 2018-02-15 20:37:22 +00:00
coro-promise-dtor.cpp [MS] Don't escape MS C++ names with \01 2018-03-16 20:36:49 +00:00
coro-ret-void.cpp [coroutines] Evaluate the operand of void `co_return` expressions. 2017-07-31 07:48:13 +00:00
coro-return.cpp [coroutines] Add cleanup for compiler injected objects/allocations in coroutine body 2017-04-01 00:22:47 +00:00
coro-unhandled-exception.cpp [Coroutines] Catch exceptions in await_resume 2018-05-04 14:02:37 +00:00
microsoft-abi-operator-coawait.cpp [MS] Don't escape MS C++ names with \01 2018-03-16 20:36:49 +00:00