Richard Smith
|
2af65c4a89
|
[coroutines] Build a CoroutineBodyStmt when finishing parsing a coroutine, and form the initial_suspend, final_suspend, and get_return_object calls.
llvm-svn: 253946
|
2015-11-24 02:34:39 +00:00 |
Richard Smith
|
71d403effb
|
[coroutines] Check for overload sets in co_yield / co_return operands being resolved by a call to yield_value / return_value before rejecting them.
llvm-svn: 253817
|
2015-11-22 07:33:28 +00:00 |
Richard Smith
|
4ba66602bd
|
[coroutines] Build implicit return_value / return_void calls for co_return.
llvm-svn: 253816
|
2015-11-22 07:05:16 +00:00 |
Richard Smith
|
1f38eddee0
|
[coroutines] Materialize the awaitable before generating the await_* calls.
llvm-svn: 253812
|
2015-11-22 03:13:02 +00:00 |
Richard Smith
|
d7bed4d660
|
[coroutines] Factor out co_await representation into common base class for co_await and co_yield, and use it to hold await_* calls.
llvm-svn: 253811
|
2015-11-22 02:57:17 +00:00 |
Richard Smith
|
10610f7f2f
|
[coroutines] Better handling of placeholder types.
llvm-svn: 253731
|
2015-11-20 22:57:24 +00:00 |
Richard Smith
|
23da82c5ea
|
[coroutines] Synthesize yield_value call for co_yield.
llvm-svn: 253725
|
2015-11-20 22:40:06 +00:00 |
Richard Smith
|
744b224bb5
|
[coroutines] Per latest wording paper, co_* are no longer permitted in any
unevaluated operands.
llvm-svn: 253641
|
2015-11-20 02:54:01 +00:00 |
Richard Smith
|
9b2f53e39e
|
[coroutines] Tweak diagnostics to always use fully-qualified name for std::coroutine_traits.
llvm-svn: 253535
|
2015-11-19 02:36:35 +00:00 |
Richard Smith
|
9f690bd80b
|
[coroutines] Creation of promise object, lookup of operator co_await, building
of await_* calls, and AST representation for same.
llvm-svn: 251387
|
2015-10-27 06:02:45 +00:00 |
Richard Smith
|
cfd53b4e99
|
[coroutines] Initial stub Sema functionality for handling coroutine await / yield / return.
llvm-svn: 250993
|
2015-10-22 06:13:50 +00:00 |